Method for controlling torque in a rotational sensorless induction motor control system with speed and rotor flux estimation

ABSTRACT

A multi-phase induction motor torque control method comprising the steps of establishing an adaptive speed observer and an adaptive flux observer using a speed sensorless control scheme. Rotor speed is estimated based on filtered current and voltage command signals as inputs. A flux observer based on the estimated rotor speed and rotor flux angle is calculated using the estimated rotor flux. Torque is determined following estimation of speed and flux.

BACKGROUND OF THE INVENTION

[0001] 1. Field of the Invention

[0002] The invention relates to a control system for induction motorsand to a method for controlling torque using sensorless direct torqueand flux regulation.

[0003] 2. Background Art

[0004] Attempts have been made in the design of controls for inductionmotors to use speed and flux observers in a system that lacks rotationaltransducers. Such sensorless control methods make it possible to achievehigh dynamic performance of induction motors while achieving lowmanufacturing costs, high reliability, robustness, and ease ofmaintenance. For example, a high gain speed observer for use in aninduction motor torque control is described in a paper by Khalil et al,entitled “A Torque Controller for Induction Motors Without RotorPosition Sensor”, International Conference on Electric Machines, Virgo,Spain, 1996. A paper written by Yoo and Ha, entitled “A PolarCoordinate-Oriented Method of Identifying Rotor Flux and Speed ofInduction Motors without Rotational Transducers”, IEEE Transactions,Volume 4, No. 3, May 1996, describes a design that uses a separate highgain speed observer with a separate robust rotor flux observer for eachof two operating modes, based on the flux natural dynamics. The speedobserver and the flux observer for each mode of operation of the motorcomplement each other in the different modes of operation of the motor.

[0005] Co-pending U.S. patent application Ser. No. 09/603,937, filedJun. 27, 2000, entitled “Speed and Rotor Time Constant Estimation forTorque Control of an Induction Motor”, filed by Zaremba and Semenov,describes a method for estimating rotor resistance using pseudo currentand voltage signals. That application is assigned to the assignee of thepresent invention.

[0006] Kubota and Matsuse, in their paper entitled “Speed SensorlessField-Oriented Control of Induction Motor with Rotor ResistanceAdaptation”, IEEE Transactions, Volume 30, No. 5, September/October1994, describe a method for estimating speed and flux using an adaptivecontrol technique.

[0007] A paper by Hori et al, entitled “A Novel Induction Machine FluxObserver and Its Application to a High Performance AC Drive System”,IFAC 10th Triennial World Congress, Munich, 1987, describes variousdesign methods for estimating rotor flux in an induction motorcontroller. The method uses a flux observer that makes it possible touse flux feedback vector control, rather than a so-called slip frequencycontrol, based on a simple control algorithm.

[0008] A flux observer utilizing flux dynamics having the ability totrack position and velocity error and torque and flux error is describedby Sun and Mills in a paper entitled “AC Induction Motor Control Usingan Advanced Flux Observer Design”, Proceedings of the American ControlConference, Chicago, Ill., June 2000.

SUMMARY OF THE INVENTION

[0009] Sensorless control of an induction motor using the method of theinvention includes adaptive observers of speed and flux. The inductionmotor may be used in the hybrid powertrain for an automotive vehiclewherein the induction motor complements an internal combustion engine toestablish torque flow to vehicle traction wheels.

[0010] The observers are based on a special form of an induction motormodel in which stator current dynamics are separated from theunobservable rotor flux. The model is obtained by assuming that rotorspeed is a slowly changing variable relative to the flux and currentsignals.

[0011] Using this model with a separated stator current as a reference,a rotor speed identification scheme is designed in the frame of a modelreference adaptive system.

[0012] In an alternative design, a speed observer is calibrated using ahigher order tuning system, thereby improving the tracking of speedtransients, although it may be more susceptible to current noise. Indirect torque and flux control systems, and also in sensorlessstrategies with speed estimation, a rotor flux observer is used. Unlikeconventional rotor flux observers, which are based on the integration ofthe rotor flux equation and which is sensitive to system errors, thedesign of the present invention includes stator current dynamics thatare separated from the rotor flux. This allows a definition of rotorflux using an algebraic equation. This equation, which is used toconstruct the rotor flux observer, does not involve integration. Thisthen greatly reduces the sensitivity of flux estimates to speedsystematic error.

[0013] In practicing the invention, the method includes measuringcurrent, filtering the current, calculating the voltage, filtering thevoltage, estimating stator current and current error as a function oftime, estimating and adjusting the speed, estimating the flux andcalculating the rotor flux angle, which is used by a torque and fluxregulator to calculate rotor torque.

[0014] The flux observer of the invention is based on an algebraicrelation between measured and filtered voltage and current signals of aninduction motor. Unlike known rotor flux observers, the flux observer ofthe invention does not integrate the rotor speed estimate. It,therefore, works better in the low rotor speed region where accuratespeed estimates are difficult.

[0015] The speed observer of the invention has improved robustness,compared to indirect field orientation (IFO) systems, with respect tovariations in rotor resistance. Such resistance variations can occur asthe operating temperature changes.

BRIEF DESCRIPTION OF THE DRAWINGS

[0016]FIG. 1 is a schematic block diagram showing a direct torque andflux regulation scheme for an induction motor with speed and fluxestimation;

[0017]FIG. 2 is a schematic functional diagram of an experimental testsetup, which includes an internal combustion engine, such as a dieselengine, an integrated starter-generator, a clutch, a water brake tomodel an external load, and a rotor position sensor to calibrate thecontrol algorithm;

[0018]FIG. 3 is a plot showing a reference torque and simulated torqueversus time for an induction motor controlled by the improved controlmethod of the invention;

[0019]FIG. 4 is a plot of rotor flux magnitude in a speed sensorlessdirect torque and flux control with rotor resistance change due to heatbuildup of ±20%;

[0020]FIG. 5 is a plot of rotor speed and its estimated value;

[0021]FIG. 6 is a plot of speed estimation error in a speed sensorlessdirect torque and flux control with rotor resistance change due to heatof ±20%;

[0022]FIG. 7 is a plot showing a variation over time of electromagnetictorque and reference torque;

[0023]FIG. 8 is a plot showing rotor flux magnitude changes over time ina speed sensorless direct torque and flux control wherein the current iscontaminated with noise;

[0024]FIG. 9 is a plot showing the rotor speed and its estimated valueover time;

[0025]FIG. 10 is a plot of speed estimation error in speed sensorlessdirect torque and flux control wherein the current is contaminated to amodest extent with noise;

[0026]FIG. 11 is a plot of electromagnetic torque and torquecorresponding to the flux observer of a typical flux dynamic equationcompared to the flux observer that can be obtained using the teachingsof the present invention;

[0027]FIG. 12 is a plot of rotor flux showing a reference flux, a fluxcorresponding to a typical flux dynamic equation, and the flux observerobtained using the teachings of the present invention;

[0028]FIG. 13 is a plot showing the rotor speed and its estimated value,one plot being superimposed on the other;

[0029]FIG. 14 is a plot showing rotor speed and its estimated value,wherein the relationship between the two variables is enlarged;

[0030]FIG. 15 is a plot showing stator currents over time, the value fora “d” axis component and the reference value for a “q” axis componentbeing compared, their values being determined in accordance with thevalues being generated by the controller;

[0031]FIG. 16 is a plot of the rotor position angles in an experimentalsetup, one plot being obtained using the rotor angle obtained from aposition sensor, a second plot being the estimate of the angle, and athird plot being the value used by the controller;

[0032]FIG. 17 is a plot over time showing the rotor speed and itsestimated value;

[0033]FIG. 18 is a plot similar to FIG. 17 with the scale expanded; and

[0034]FIG. 19 is a plot of the rotor position angles in an experimentalsetup similar to the plot of FIG. 16.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0035]FIG. 1 is a schematic system diagram for the improved sensorlesscontrol system of the invention. The operator of the powertrain commandsreference values for torque and flux as shown at 10 and 12 in FIG. 1. APWM voltage inverter 14 drives a multi-phase induction motor 16 as thetorque and flux regulator 18 receives reference torque and flux values.A two-phase to three-phase transformation block 20 converts the x and yaxis voltage values 22 and 24 to transformed voltages U_(a), U_(b) andU_(c), as shown at 26, 28 and 30, respectively. A polyphase current,which rotates in the same direction as the rotor of the induction motor16, creates a rotor torque in accordance with the reference command.Rotation of the polyphase current at a rate less than the rotor speedcreates a torque in a direction that opposes rotor rotation. At thattime, the motor 16 is in a power generating mode.

[0036] Current signals are distributed to phase transformation block 32.These are measured current signals. This generates measured statorcurrents I_(sx) and I_(sy), as shown at 34 and 36. These currents arefiltered at 38. The resulting values for filtered current shown at 40and 42 are distributed to a speed observer block 44.

[0037] A voltage filter block 46 receives the commanded voltages U_(x)and U_(y) calculated in the stationary frame and generates outputvoltages U_(o) and U₁, as shown at 48 and 50. The values for voltages at48 and 50 and the values for current at 40 and 42 are transferred to thespeed observer 44, which estimates the rotational electrical speed ofthe rotor for the induction motor 16, as will be explained subsequently.

[0038] The estimated rotor speed {circumflex over (ω)}_(r) isdistributed as shown at 52 to flux observer 54.

[0039] The flux observer will develop a rotor flux value {circumflexover (λ)}_(r), as shown at 56, in a manner that will also be describedsubsequently, using rotor speed and stator current signals I_(sx) andI_(sy), which were developed at 34 and 36.

[0040] Rotor flux angle is calculated at the flux observer, and torqueis calculated at 58.

[0041]FIG. 2 is a functional schematic system diagram showing an engine60, which may be a diesel engine, and an induction motor 62 connected tothe crankshaft for the engine. A position sensor 64 is used in theexperimental setup of FIG. 2. Its signal can be differentiated to obtaina comparison to the results of the calculation using the control methodof the invention.

[0042] The crankshaft is connected to a load 66 using a clutch 68. Theload is simulated by a water brake, as shown.

[0043] The electronic engine control for the engine 60 is shown at 70.The controller for the induction motor is shown at 72. For purposes ofthe experimental setup in FIG. 2, the output of the position sensorwould be distributed to the controller.

[0044] The state variables in a dynamic model of an induction motor canbe expressed as follows: $\begin{matrix}{\frac{\lambda_{r}}{t} = {{( {{{- \frac{R_{r}}{L_{r}}}I} + {n_{p}\omega \quad J}} )\lambda_{r}} + {\frac{R_{r}}{L_{r}}{Mi}_{s}}}} & (1) \\{\frac{i_{s}}{t} = {{{- \frac{M\backslash}{\sigma \quad L_{s}L_{r}}}( {{{- \frac{R_{r}}{L_{r}}}I} + {n_{p}\omega \quad J}} )\lambda_{r}} - {\frac{1}{\sigma \quad L_{s}}( {R_{s} + \frac{M^{2}R_{r}}{L_{r}^{2}}} )i_{s}} + {\frac{1}{\sigma \quad L_{s}}v_{s}}}} & (2) \\{\frac{\Theta}{t} = \omega} & (3) \\{{{\frac{\omega}{t} = {{\mu \quad i_{s}^{T}{J\lambda}_{r}} - \frac{\alpha\omega}{m} + \frac{T_{L}}{m}}},\text{where:}}\quad {I = \begin{pmatrix}1 & 0 \\0 & 1\end{pmatrix}}{J = \begin{pmatrix}0 & {- 1} \\1 & 0\end{pmatrix}}} & (4)\end{matrix}$

[0045] λ_(r),i_(s),σ_(s)—rotor flux, stator current and stator voltagecommand

[0046] Θ—angular position of the rotor

[0047] ω—angular speed of the rotor

[0048] R_(r),R_(s)—rotor and stator resistance

[0049] M—mutual inductance

[0050] L_(r),L_(s)—rotor and stator inductance

[0051] σ=1−M²/L_(s)L_(r)—leakage parameter

[0052] n_(p)—number of pole pairs

[0053] m —moment of inertia of the rotor

[0054] α—damping gain

[0055] T_(L)—external load torque

[0056] μ=3n_(p)M/2L_(r)

[0057] T_(e)=μi_(s) ^(T) Jλ_(r)—the electromagnetic torque.

[0058] In practicing the method, the electromagnetic torque iscalculated to follow the reference value for torque T_(ref). This isexpressed as follows: $\begin{matrix} {\lim\limits_{tarrow\infty}T_{e}}arrow T_{ref}  & (5)\end{matrix}$

[0059] In the calculation of electromagnetic torque, the flux must bekept at a certain level, and the goal is to achieve the followingrelationship: $\begin{matrix}{ {\lim\limits_{tarrow\infty}\lambda_{r}}arrow F_{ref} ,} & (6)\end{matrix}$

[0060] where F_(ref) is the flux reference value.

[0061] It is assumed that the reference values T_(ref), F_(ref) εC¹[R⁺], and they should be selected while accounting for constraints onthe voltage and current signals.

[0062] The torque and flux regulation of equations (5) and (6) above isachieved when the rotor speed is measured by using standard indirectfield oriented (IFO) control techniques. In an IFO scheme, theelectrical excitation frequency ω_(e)* is obtained by summing up therotor speed signal with the commanded slip frequency ω_(s)*. Thus:

ω_(e) *=n _(p)ω+ω_(s)*  (7)

[0063] where $\begin{matrix}{\omega_{s}^{*} = {\frac{2}{3n_{p}}{\frac{T_{ref}R_{r}}{( F_{ref} )^{2}}.}}} & (8)\end{matrix}$

[0064] Then, by integrating ω_(e)*, the orientation of the frame relatedwith the rotor flux is obtained as a separation of torque and fluxtracking is achieved.

[0065] In many applications it is desirable to avoid measurements of therotor position or speed (such sensors make the system expensive and lessreliable). Thus the problem of the estimation of the rotor speed fromthat available for the measurement stator current and stator voltagecommand arises; i.e., $\begin{matrix}{ {\lim\limits_{tarrow\infty}\hat{\omega}}arrow\omega ,} & (9)\end{matrix}$

[0066] where {circumflex over (ω)} is a rotor speed estimate.

[0067] In direct field oriented (DFO) torque and flux regulation thevalue of the rotor flux or its estimate is used. The observer for therotor flux is constructed to achieve the convergence; i.e.,$\begin{matrix}{ {\lim\limits_{tarrow\infty}{\hat{\lambda}}_{r}}arrow\lambda_{r} ,} & (10)\end{matrix}$

[0068] where {circumflex over (λ)}_(r) is a rotor flux estimate.

[0069] Since parameters of an induction motor may change during itsoperation and their exact values may be essential for quality ofcontrol, the problem of online estimation of the motor parametersarises. In particular, rotor and stator resistances are to be estimated;i.e., $\begin{matrix} {\lim\limits_{tarrow\infty}\hat{P}}arrow P  & (11)\end{matrix}$

[0070] where P=[R_(r),R_(s)]^(T) and {circumflex over (P)} is itsestimate.

[0071] For purposes of the invention, estimators for rotor speed andflux are designed only assuming that motor parameters are known orproperly estimated.

[0072] In order to design a speed observer, an assumption is made thatthe rotor speed changes significantly slower relative to the rotor flux.Thus the rotor speed can be considered to be a slowly changing unknownparameter so that adaptive identification techniques can be applied.

[0073] First, differentiating equation (2) above and eliminating λ_(r)gives: $\begin{matrix}{{\frac{^{2}i_{s}}{t^{2}} = {{( {{\alpha_{1}I} + {{\omega\beta}_{1}J}} )\frac{i_{s}}{t}} + {( {{\alpha_{2}I} + {{\omega\beta}_{2}J}} )i_{s}} + {( {{\alpha_{3}I} + {{\omega\beta}_{3}J}} )v_{s}} + {\alpha_{4}\frac{v_{s}}{t}}}},} & (12)\end{matrix}$

[0074] where${\alpha_{1} = {{\frac{1}{\sigma \quad L_{s}}( {R_{s} + \frac{M^{2}R_{r}}{L_{r}^{2}}} )} - \frac{R_{r}}{L_{r}}}};{\beta_{1} = n_{p}};$${\alpha_{2} = {- \frac{R_{r}R_{s}}{\sigma \quad L_{r}L_{s}}}};{\beta_{2} = {- \frac{n_{p}R_{s}}{\sigma \quad L_{s}}}};$${\alpha_{3} = \frac{R_{r}}{\sigma \quad L_{s}L_{R}}};{\beta_{3} = {- \frac{n_{p}}{\sigma \quad L_{s}}}};{\alpha_{4} = {\frac{1}{\sigma \quad L_{s}}.}}$

[0075] Adding cdi_(s)/dt for some c>0 to both sides of (12) and formallydividing by (d/dt+c) transform equation (12) to $\begin{matrix}{\frac{i_{s}}{t} = {{a(t)} + {\omega \quad {b(t)}} + {ɛ.}}} & (13)\end{matrix}$

[0076] Here ε→0 exponentially and functions a(t) and b(t) are linearcombinations of the filtered stator current and voltage signalsi_(s0),i_(s1),υ_(s0),υ_(s1); i.e.,

a(t)=(c+α ₁)i _(s1)+α₂ i _(s0)+α₃σ_(s0)+α₄σ_(s1),  (14)

b(t)=J(β₁ i _(s1)+β₂ i _(s0)+β₃σ_(s0),  (15)

[0077] where${{i_{s0} = {\frac{1}{s + c}i_{s}}};{i_{s1} = {\frac{s}{S + c}i_{s}}}},{{v_{s0} = {\frac{1}{s + c}v_{s}}};{v_{s1} = {\frac{s}{s + c}v_{s}}}},$

[0078] and “s” is a Laplace transform variable.

[0079] Equation (13) will be used as a reference model for the rotorspeed identification in the frame of the model reference adaptive systemapproach. The tuning model (stator current observer) is given by thefollowing formula: $\begin{matrix}{{\frac{{\hat{i}}_{s}}{t} = {{a(t)} + {\hat{\omega}\quad {b(t)}} - {L( {{\hat{i}}_{s} - i_{s}} )}}},{L > 0},} & (16)\end{matrix}$

[0080] where î_(s) is the stator current estimate, {circumflex over (ω)}is the rotor speed estimate and L is a positive constant.

[0081] Let e=î_(s)−i_(s) be the stator current estimation error; thenthe dynamic equation for the error is obtained by subtracting equation(13) from equation (16) as follows: $\begin{matrix}{\frac{e}{t} = {{- {Le}} + {( {\hat{\omega} - \omega} ){b(t)}} - ɛ}} & (17)\end{matrix}$

[0082] The speed estimate {circumflex over (ω)} is to be adjusted insuch a way as to make the current estimation error and its derivativetend to zero. This implies the convergence to zero of the expression({circumflex over (ω)}−ω)b(t). If the identifiability condition|b(t)|≧δ>0 holds, then the speed estimate will converge to the actualrotor speed. Such an adjustment is realized by the following equation:$\begin{matrix}{{\frac{\hat{\omega}}{t} = {{- \lambda}\quad e^{T}{b(t)}}},} & (18)\end{matrix}$

[0083] with some positive tuning gain λ>0.

[0084] The stator current observer of equations (14)-(16), together withthe adjustment mechanism of equation (18), constitute the speedobserver. Conditions under which the speed identification occurs aregiven in the following statement:

[0085] Consider a dynamic model of an induction motor (1), (2) and thespeed observer (14)-(16), (18). Let the stator voltage command υ_(s) bea bounded continuous, piecewise, smooth function. Further, suppose thatidentifiability condition

|b(t)|≧δ>0  (19)

[0086]  holds for all t≧t₀ and some δ>0,t₀>0

[0087] Then the speed identification occurs as:$ {\lim\limits_{tarrow\infty}{\hat{\omega}(t)}}arrow{\omega.} $

[0088] The identifiability condition (19) can be substituted by one ofthe following equivalent persistent excitation conditions:

[0089] 1. There exist α>0,T>0,t₀>0 such that for all t≧t₀∫_(t)^(t + T)b(s)b(s)^(T)  s ≥ α  I.

[0090] 2. There exist α>0,T>0,t₀>0 such that for all t ≧t₀,ξ ∈ R² thereexist t_(*) ∈[t,t+T] such that |b(t_(*))ξ|≧α|ξ|.

[0091] 3. There exist C>0, T>0, t₀>0 such that for all t≧t₀ there existt₁ ∈[t,t+T],i=1,2, such that [b(t₁),b(t₂)]⁻¹≦C.

[0092] Note that condition “1” is the definition of persistentexcitation of a function b(t).

[0093] The identifiability condition (19) is equivalent to the followinginequality:$| {\int_{0}^{t}{{^{- {cr}}( {{\beta \frac{i_{s}}{t}} + {\beta_{2}i_{s}} + {\beta_{3}v_{s}}} )}\quad {r}}} \middle| {\geq {\delta.}} $

[0094] Since (β₁di_(s)/dt+β₂i_(s)+β₃σ_(s))=δω_(e), where ω_(e) is theelectrical excitation frequency, then identifiability condition isviolated when ω_(e) 0; i.e., the electromagnetic field is not rotating.

[0095] Speed estimation law (18) can be substituted by the followingsign-adjustment scheme: $\begin{matrix}{{\frac{\hat{\omega}}{t} = {- {{\lambda sign}( {e^{T}{b(t)}} )}}},{\lambda > 0.}} & (20)\end{matrix}$

[0096] Although its stability is not proved analytically, it showsbetter performance than (18) in the low-speed region and results in lesssensitivity to current noise in the current measurements.

[0097] The adaptation algorithms of the gradient type (18) may not berobust with respect to small disturbances. To overcome this problem therobust modifications of (18) with a deadzone or σ-modification are used.

[0098] The proof of the condition expressed in equation (18) is based onthe Lyapunov function candidate $\begin{matrix}{{V( {e,\hat{\omega},t} )} =  {{\frac{1}{2}e^{2}} + \frac{1}{2\lambda}} \middle| {\hat{\omega} - w} \middle| {}_{2}{+ {\int_{t}^{\infty}{\frac{ɛ^{2}}{4L}\quad {{s}.}}}} } & (21)\end{matrix}$

[0099] The proposed speed observer depends on three parameters (c>0,L>0, λ>0). Their values may substantially influence the observerperformance, especially when the speed estimate is used in the closedloop control or the speed changes are fast. In general, increasing theparameter λ improves the estimation convergence, but too high values ofλ may cause an overshoot and increase the observer sensitivity to noise.Conversely, very large values of parameters c and L may result in slowconvergence. Thus, they should be chosen as rather small values. At thesame time if c and L are excessively small, oscillations of the rotorspeed estimate with slow attenuation may occur. There is no precise rulefor tuning these parameters.

[0100] There is always some noise in the stator current measurements.Several methods can be used to lessen the observer sensitivity to noise.The first one would use the adjustment mechanism (20) instead of (18).According to simulation results, the sign-scheme (20) shows betterrobustness with respect to the current noise. Another way is to filterout the rotor speed estimate (output of the observer) with a low-passfilter. It is also possible to filter out the inputs (i_(s), σ_(s))using the same filter. One should take into account that parameters ofthe chosen filter will influence the performance of the observer.

[0101] An alternative speed observer using a tuning system of higherorder now will be described. In part, the observation scheme is similarto the one described above. The observer utilizes the same methodologyof using filtered signals instead of stator current derivatives, and itis also based on the model reference adaptive system approach.

[0102] Filtering both sides of equation (12) with a filter 1/(s+c),where c is some positive constant, yields: $\begin{matrix}{\frac{i_{s1}}{t} = {{( {{\alpha_{1}I} + {{\omega\beta}_{1}J}} )i_{s1}} + {( {{\alpha_{2}I} + {{\omega\beta}_{2}J}} )i_{s0}} + {( {{\alpha_{3}I} + {{\omega\beta}_{3}J}} )v_{s0}} + {\alpha_{4}{v_{s1}.}}}} & (22)\end{matrix}$

[0103] The notations i_(s0), i_(s1), v_(s0), v_(s1), are the same asthose used in the previous description of a rotor speed observer.Introducing the new state space vector z = [i_(s0)^(T), i_(s1)^(T)]^(T)

[0104] rewrites (22) in the following state space form: $\begin{matrix}\begin{matrix}{\frac{z}{t} = {{\begin{bmatrix}0 & I \\{{\alpha_{2}I} + {{\omega\beta}_{2}J}} & {{\alpha_{1}I} + {{\omega\beta}_{1}J}}\end{bmatrix}z} +}} \\{{\begin{bmatrix}0 \\{{ {\alpha_{3} + {{\omega\beta}_{3}J}} )v_{s0}} + {\alpha_{4}v_{s1}}}\end{bmatrix}.}}\end{matrix} & (23)\end{matrix}$

[0105] Segregating the terms with the unknown rotor speed, the followingequation is obtained: $\begin{matrix}{{\frac{z}{t} = {{Az} + {\omega \quad {g(t)}} + {f(t)}}},\quad {where}} & (24)\end{matrix}$

[0106] where ${A = \begin{bmatrix}0 & I \\{\alpha_{2}I} & {\alpha_{1}I}\end{bmatrix}},{{f(t)} = \begin{bmatrix}0 \\{{\alpha_{3}v_{s0}} + {\alpha_{4}v_{s1}}}\end{bmatrix}},{{g(t)} = {{\begin{bmatrix}0 & 0 \\{\beta_{2}J} & {\beta_{1}J}\end{bmatrix}z} + {\begin{bmatrix}0 \\{\beta_{3}J\quad v_{s0}}\end{bmatrix}.}}}$

[0107] Since z(t), g(t) and f(t) are functions of signals i_(s0),i_(s1), v_(s0) and v_(s1), they may be computed from the measuredcurrent and voltage command.

[0108] Considering equation (24) as a reference model, the tuning systemwill be $\begin{matrix}{{\frac{\hat{z}}{t} = {{A\quad \hat{z}} + {\hat{\omega}{g(t)}} + {f(t)} - {C( {\hat{z} - z} )}}},} & (25)\end{matrix}$

[0109] where {circumflex over (z)} is an estimate of z, {circumflex over(ω)} is an estimate of the speed ω and C is 4×4 matrix such that

=A−C is Hurwitz.

[0110] The equation for the error e_(z)={circumflex over (z)}−z is:$\begin{matrix}{\frac{e_{z}}{t} = {{\quad e_{z}} + {( {\hat{\omega} - \omega} ){{g(t)}.}}}} & (26)\end{matrix}$

[0111] Let H=H^(T)>0 be a positive definite matrix such that H

+

^(T)H <0 will be negative definite. Such H exists since

is Hurwitz. Then the speed estimation adjustment mechanism is designedaccording to the following equation: $\begin{matrix}{{\frac{\hat{\omega}}{t} = {{- \lambda}\quad e_{z}^{T}{{Hg}(t)}}},{\lambda > 0.}} & (27)\end{matrix}$

[0112] The tuning model equation (25) and the adjustment equation (27)define the speed observer. The convergence conditions for the speedobserver (25),(27) are described in the following statement:

[0113] Consider a dynamic model of an induction motor (1), (2) and thespeed observer (25), (27). Let the stator voltage command v_(s) bebounded continuous piecewise smooth function. Suppose theidentifiability condition

|g(t)|≧δ>0  (28)

[0114]  holds for all t≧t₀ and some δ>0,t₀≧0.

[0115] Then the following speed identification occurs:${\lim\limits_{t->\infty}{\omega (t)}}->{\omega.}$

[0116] The discussion of the first example above regarding the methodsfor reduction of the sensitivity to noise are also valid for the speedobserver of equations (25), (27).

[0117] The proof of this second example is based on the Lyapunovfunction:${v( {e_{z},\hat{\omega}} )} = {{\frac{1}{2}e_{z}^{T}H\quad e_{z}} + {\frac{1}{2\lambda}{{{\hat{\omega} - \omega}}^{2}.}}}$

[0118] The speed observer (25), (27) utilzes a reference model of higherorder, and thus more information about the induction motor dynamics isused in the rotor speed estimate adjustment. The choice of matrices Cand H may influence the dynamics of the system. In some cases, thecorrect choice of these matrices may significantly simplify the wholeobserver. For example, if C=A+LI and H=I (where L>0 is a scalar constantand I is 4×4 identity matrix), then the observer may be reduced to theobserver (16), (18) described above.

[0119] Transformation of induction motor equations in the earlierdiscussion can be used to design a new rotor flux observer. Known rotorflux observers utilize natural dynamics of the induction motor andinvolve integration of flux dynamic equation as follows: $\begin{matrix}{\frac{{\hat{\lambda}}_{r}}{t} = {{( {{{- \frac{R_{r}}{L_{r}}}I} + {n_{p}\omega \quad J}} ){\hat{\lambda}}_{r}} + {\frac{R_{r}}{L_{r}}M\quad i_{s}}}} & (29)\end{matrix}$

[0120] Using induction motor model (13) makes it unnecessary tointegrate in the estimation of the rotor flux with systematic speederrors. If the rotor speed is determined with good accuracy, thenequation (13) provides the estimate of the derivative of the statorcurrent. By substituting this estimate into the equation (1), thealgebraic equation for the rotor flux is defined.

[0121] Combining equations (13) and (2), and moving all the terms exceptthe term with the rotor flux to the right hand side, yields theexpression: $\begin{matrix}{{{\frac{M}{\sigma \quad L_{s}L_{r}}( {{{- \frac{R_{r}}{L_{r}}}I} + {n_{p}\omega \quad J}} )\lambda_{r}} = {{- {a(t)}} - {\omega \quad {b(t)}} - ɛ - {\frac{1}{\sigma \quad L_{s}}( {R_{s} + \frac{M^{2}R_{r}}{L_{r}^{2}}} )i_{s}} + {\frac{1}{\sigma \quad L_{s}}v_{s}}}},} & (30)\end{matrix}$

[0122] where a(t) and b(t) are defined in (14) and (15) and E tends tozero exponentially.

[0123] Neglecting ε and resolving (30) with respect to the rotor flux,the following formula is obtained: $\begin{matrix}{{\hat{\lambda}}_{r} = {\frac{\sigma \quad L_{s}L_{r}}{M( {{R_{r}^{2}/L_{r}^{2}} + {n_{p}^{2}{\hat{\omega}}^{2}}} )}{( {{{- \frac{R_{r}}{L_{r}}}I} - {n_{p}\hat{\omega}\quad J}} )\lbrack {{- {a(t)}} - {\hat{\omega}\quad {b(t)}} - {\frac{1}{\sigma \quad L_{s}}( {R_{s} + \frac{M^{2}R_{r}}{L_{r}^{2}}} )i_{s}} + {\frac{1}{\sigma \quad L_{s}}v_{s}}} \rbrack}}} & (31)\end{matrix}$

[0124] If the only information needed from the rotor flux is itsorientation, then it is not necessary to calculate the first multiplierin equation (31).

[0125] It is important to note that observer (31) does not useintegration. It, therefore, is less sensitive to systematic errors inspeed estimates.

[0126] The rotor speed and flux observers of the invention have beenused for sensorless direct torque and flux regulation. The direct torqueand flux control scheme, which includes rotor speed and flux observers,is shown in FIG. 1. The speed is estimated by using equations (16) or(18) and rotor flux estimates are obtained from (30) or (31).

[0127] An example of motor and controller parameters used in simulationsare given in the following table: TABLE 1 R_(s) R_(r) M L_(1r) L_(1s)0.11 0.087 0.00081 0.0011 0.0011

[0128] The speed observer parameters are equal to λ=2000, L=1000, c=100.The reference torque T_(ref) is a step function changing from 50 N/m to−50 N/m, and the square of the reference flux is F_(ref) ²=0.012 Wb².

[0129] In FIGS. 3-6, all motor parameters are known except for the rotorresistance R_(r) that is increased by 20% over its nominal value. Thesimulation results with nominal system parameters are not included sincethey are similar to those in FIGS. 3-6.

[0130] In FIGS. 7-10, the stator current is contaminated with a whitenoise (3A, 1 kHz frequency) and the rotor speed estimate is filteredwith a 100 Hz low-pass filter.

[0131]FIGS. 11 and 12 give a comparison of the use of rotor fluxobservers based on the rotor flux dynamic equation (1) and equation(31).

[0132] The simulation results show transients in torque and fluxtracking during sharp torque changes and when the motor speed crosseszero. As an unexpected positive result of using sensorless control, itshould be noted that the scheme is insensitive to rotor resistancevariations. Also using the flux observer (31) improves system torque andflux tracking.

[0133] The speed observer of the invention has been used for speedsensorless active engine damping. A block diagram of an experimentalsetup is seen in FIG. 2. It includes an indirect injected diesel engine,mounted on a cart, an 8 kW integrated starter generator (ISG), a clutch,and a water brake to model an external load. This configuration isrepresentative of a hybrid electric vehicle powertrain in which the ISGis used to provide a start stop operation, a power boost, and also toreplace a standard passive flywheel function.

[0134] The controller ACE is used to control the inverter andcommunicate with the engine electronic controller (EEC), sensors and anexternal laptop computer. The controller development and C codegeneration are performed in the Xmath/SystemBuild graphical environmentin a laptop computer.

[0135] To make the computation process more efficient, all processes aredivided into two classes: slow and fast. The slow processes areimplemented in the outer loop with a sampling frequency of 1 kHz, andthe fast processes are run with a frequency of 10 kHz in the inner loop.The fast processes include real-time implementation of the indirectfield-oriented (IFO) control of the induction motor, and updates ofcurrent and speed signals. The speed observer is implemented in theouter loop with a frequency 1 kHz. The observer parameters are selectedto be λ=2000, L=1000, c=100, and they can be tuned in real-time duringISG operation using a communication line between the laptop and ACE.

[0136] In the first experiment shown in FIGS. 13-16, a proportionalcontroller is used for the active speed damping. A reference value forthe i_(d) component of the stator current equals to 120A, and the i_(q)component is determined according to the reference torque generated bythe controller.

[0137] In the second experiment shown in FIGS. 17-19, the machine isfluxed, but the active damping controller is off and the torque commandequals zero.

[0138]FIGS. 16 and 19 show an angular position of the rotor, whereθ_(sensor) (shown by a solid line) is the rotor angle obtained from thesensor, θ_(hat) (shown by a dash line) is the estimate of the angle andθ_(ctr) (shown by a dot-dash line) is the value used in IFO control. Thedifference between θ_(hat) and θ_(ctr) is caused by the delay in thedata acquisition system. The error between θ_(sensor) and θ_(ctr) isconstant. That means that the flux converges to the reference value, andthus the field orientation occurs.

[0139] Although an embodiment of the invention has been disclosed,modifications may be made by persons skilled in the art withoutdeparting from the scope of the invention. All such modifications andequivalents thereof are intended to be covered by the following claims.

What is claimed:
 1. A torque control method for a multiple-phaseinduction motor, the motor having a rotor and a stator with windingsestablishing a rotating flux field, the method comprising the steps of:measuring stator current; filtering stator current; calculating statorvoltage; filtering stator voltage; estimating stator current as afunction of rotor speed; calculating stator current error; estimatingrotor speed and adjusting it to converge with actual rotor speed;defining a rotor flux observer; calculating a rotor flux vector; andcalculating rotor torque using flux orientation and transformed statorcurrent and voltage values.
 2. The method set forth in claim 1 whereinthe filtered stator current and filtered stator voltage are computed andused to create a reference model for rotor speed calculation;calculation of the adjustment of estimated speed and computation of acurrent observer determining a rotor speed observer; the rotor speedobserver and the rotor flux and angle determining rotor torque.
 3. Themethod set forth in claim 1 wherein calculation of a rotor flux vectoris determined by the equation: $\begin{matrix}{{\hat{\lambda}}_{r} = {\frac{\sigma \quad L_{s}L_{r}}{M( {{R_{r}^{2}/L_{r}^{2}} + {n_{p}^{2}{\hat{\omega}}^{2}}} )}( {{{- \frac{R_{r}}{L_{r}}}I} - {n_{p}\hat{\omega}J}} )}} \\{\lbrack {{- {a(t)}} - {\hat{\omega}{b(t)}} - {\frac{1}{\sigma \quad L_{s}}( {R_{s} + \frac{M^{2}R_{r}}{L_{r}^{2}}} )i_{s}} + {\frac{1}{\sigma \quad L_{s}}v_{s}}} \rbrack}\end{matrix}$

where: $\begin{matrix}{I = \begin{pmatrix}1 & 0 \\0 & 1\end{pmatrix}} \\{J = \begin{pmatrix}0 & {- 1} \\1 & 0\end{pmatrix}}\end{matrix}$

{circumflex over (λ)}_(r),i_(s),σ_(s)—rotor flux vector estimate, statorcurrent and stator voltage command ω—angular speed of the rotorR_(r),R_(s)—rotor and stator resistance M—mutual inductanceL_(r),L_(s)—rotor and stator inductance σ=1−M²/L_(s)L_(r)—leakageparameter n_(p)—number of pole pairs a(t) and b(t) are linearcombinations of the filtered stator current.
 4. The method set forth inclaim 2 wherein calculation of a rotor flux vector is determined by theequation: $\begin{matrix}{{\hat{\lambda}}_{r} = {\frac{\sigma \quad L_{s}L_{r}}{M( {{R_{r}^{2}/L_{r}^{2}} + {n_{p}^{2}{\hat{\omega}}^{2}}} )}( {{{- \frac{R_{r}}{L_{r}}}I} - {n_{p}\hat{\omega}J}} )}} \\{\lbrack {{- {a(t)}} - {\hat{\omega}{b(t)}} - {\frac{1}{\sigma \quad L_{s}}( {R_{s} + \frac{M^{2}R_{r}}{L_{r}^{2}}} )i_{s}} + {\frac{1}{\sigma \quad L_{s}}v_{s}}} \rbrack}\end{matrix}$

where: $\begin{matrix}{I = \begin{pmatrix}1 & 0 \\0 & 1\end{pmatrix}} \\{J = \begin{pmatrix}0 & {- 1} \\1 & 0\end{pmatrix}}\end{matrix}$

{circumflex over (λ)}_(r),i_(s),σ_(s)—rotor flux vector estimate, statorcurrent and stator voltage command ω—angular speed of the rotorR_(r),R_(s) rotor and stator resistance M—mutual inductanceL_(r),L_(s)—rotor and stator inductance σ=1−M²/L_(s)L_(r)—leakageparameter n_(p)—number of pole pairs a(t) and b(t) are linearcombinations of the filtered stator current.
 5. A control system forcontrolling torque of a multiple-phase induction motor in a hybridautomotive vehicle powertrain that includes an internal combustionengine, the system comprising a controller for determining inductionmotor torque, the controller including logic for: measuring statorcurrent; filtering stator current; calculating stator voltage; filteringstator voltage; estimating stator current as a function of rotor speed;calculating stator current error; estimating rotor speed and adjustingit to converge with actual rotor speed; defining a rotor flux observer;calculating a rotor flux vector; and calculating rotor torque using fluxorientation and transformed stator current and voltage values.
 6. Thecontrol system set forth in claim 5 wherein the logic includes measuringthe filtered stator current and filtered stator voltage using thefiltered values to create a reference model for rotor speed calculation;calculation of the adjustment of estimated speed and computation of acurrent observer determining a rotor speed observer; the rotor speedobserver and the rotor flux and angle determining rotor torque.
 7. Thecontrol system set forth in claim 5 wherein calculation of a rotor fluxvector is determined by the equation: $\begin{matrix}{{\hat{\lambda}}_{r} = {\frac{\sigma \quad L_{s}L_{r}}{M( {{R_{r}^{2}/L_{r}^{2}} + {n_{p}^{2}{\hat{\omega}}^{2}}} )}( {{{- \frac{R_{r}}{L_{r}}}I} - {n_{p}\hat{\omega}J}} )}} \\{\lbrack {{- {a(t)}} - {\hat{\omega}{b(t)}} - {\frac{1}{\sigma \quad L_{s}}( {R_{s} + \frac{M^{2}R_{r}}{L_{r}^{2}}} )i_{s}} + {\frac{1}{\sigma \quad L_{s}}v_{s}}} \rbrack}\end{matrix}$

where: $\begin{matrix}{I = \begin{pmatrix}1 & 0 \\0 & 1\end{pmatrix}} \\{J = \begin{pmatrix}0 & {- 1} \\1 & 0\end{pmatrix}}\end{matrix}$

{circumflex over (λ)}_(r),i_(s),σ_(s)—rotor flux vector estimate, statorcurrent and stator voltage command ω—angular speed of the rotorR_(r),R_(s)—rotor and stator resistance M—mutual inductanceL_(r),L_(s)—rotor and stator inductance σ=1−M²/L_(s)L_(r)—leakageparameter n_(p)—number of pole pairs a(t) and b(t) are linearcombinations of the filtered stator current.
 8. The control system setforth in claim 5 wherein calculation of a rotor flux vector isdetermined by the equation: $\begin{matrix}{{\hat{\lambda}}_{r} = {\frac{\sigma \quad L_{s}L_{r}}{M( {{R_{r}^{2}/L_{r}^{2}} + {n_{p}^{2}{\hat{\omega}}^{2}}} )}( {{{- \frac{R_{r}}{L_{r}}}I} - {n_{p}\hat{\omega}J}} )}} \\{\lbrack {{- {a(t)}} - {\hat{\omega}{b(t)}} - {\frac{1}{\sigma \quad L_{s}}( {R_{s} + \frac{M^{2}R_{r}}{L_{r}^{2}}} )i_{s}} + {\frac{1}{\sigma \quad L_{s}}v_{s}}} \rbrack}\end{matrix}$

where: $\begin{matrix}{I = \begin{pmatrix}1 & 0 \\0 & 1\end{pmatrix}} \\{J = \begin{pmatrix}0 & {- 1} \\1 & 0\end{pmatrix}}\end{matrix}$

{circumflex over (λ)}_(r),i_(s),σ_(s)—rotor flux vector estimate, statorcurrent and stator voltage command ω—angular speed of the rotorR_(r),R_(s)—rotor and stator resistance M—mutual inductanceL_(r),L_(s)—rotor and stator inductance σ=1−M²/L_(s),L_(r)—leakageparameter n_(p)—number of pole pairs a(t) and b(t) are linearcombinations of the filtered stator current.